package com.linx.notice.domain.bo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.linx.notice.domain.InfoRealease;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * 信息发布业务对象 info_realease
 *
 * @author 泽智科技
 * @date 2024-10-21
 */
@Data
@AutoMapper(target = InfoRealease.class, reverseConvertGenerate = false)
public class InfoRealeaseBo {

    /**
     * 主键
     */
    private Long infoReleaseId;

    /**
     * 标题
     */
    private String infoTitle;

    /**
     * 分类
     */
    private Long infoTypeId;

    /**
     * 发布范围
     */
    private Long infoScopeId;


    /**
     * 发布时间类型 1 立即发生 2 定时发送
     */
    private String realeaseTimeType;

    /**
     * 发布时间
     */
    @JsonFormat(pattern = "YYYY-MM-dd HH:mm:ss")
    private Date realeaseTime;

    /**
     * 信息头图
     */
    private Long infoHeaderPicId;

    /**
     *
     */
    private String infoContent;

    /**
     * 备注
     */
//    @NotBlank(message = "备注不能为空", groups = { AddGroup.class, EditGroup.class })
    private String remark;

    /**
     * 发送时间 开始
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date startTime;

    /**
     * 发送时间 截止
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date endTime;

    /**
     * 附件
     */
    private List<Long> fileUrls;

    /**
     * 信息发布类型（1，代表草稿，2代表发布）
     */
    private String realeaseType;

    /**
     * 信息发布状态（1，已发送，2未发送）
     */
    private String realeaseStatus;
    /**
     * banner排序
     */
    private Long bannerSort;

    /**
     * banner标志（1代表是 1代表否）
     */
    private String bannerFlag;

    /**
     * banner
     */
    private Long bannerId;
    /**
     *     是否跳转（0代表是 1代表否）
     */

    private String bannerLinkFlag;

    private Long userId;
}
